import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

// 在数据库中插入数据
public class Demo1 {
    public static void main(String[] args) throws SQLException {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入学生的学号：");
        int id = in.nextInt();
        System.out.println("请输入学生的姓名：");
        String name = in.next();

        // 1. 创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/myjdbc?characterEncoding=utf8&useSSL=false");

        //    设置用户名和密码
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("123456");

        // 2. 建立和数据库服务器之间的连接
        Connection connection = dataSource.getConnection();

        // 3. 构造 sql
        //String sql = "insert into student values(" + id + ", '" + name +"')";
        String sql = "insert into student values (?, ?)";
        //    预处理 sql 语句 - 检查 sql 是否存在问题
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1, id);
        statement.setString(2, name);

        // 4. 把 sql 发给服务器
        int n = statement.executeUpdate();

        // 5. 关闭连接，释放资源
        statement.close();
        connection.close();
    }
}
